Present-day Internet communications represent the synthesis of technical developments begun in the 1960s. During that time period, the Defense Department developed a communication system to support communication between different United States military computer networks, and later a similar system was used to support communication between different research computer networks at United States universities.
The Internet
The Internet, like so many other high tech developments, grew from research originally performed by the United States Department of Defense. In the 1960s, Defense Department officials wanted to connect different types of military computer networks. These different computer networks could not communicate with each other because they used different types of operating systems or networking protocols.
While the Defense Department officials wanted a system that would permit communication between these different computer networks, they realized that a centralized interface system would be vulnerable to missile attack and sabotage. To avoid this vulnerability, the Defense Department required that the interface system be decentralized with no vulnerable failure points.
The Defense Department developed an interface protocol for communication between these different network computers. A few years later, the National Science Foundation (NSF) wanted to connect different types of network computers located at research institutions across the country. The NSF adopted the Defense Department's interface protocol for communication between the research computer networks. Ultimately, this combination of research computer networks would form the foundation of today's Internet.
Internet Protocols
The Defense Department's interface protocol was called the Internet Protocol (IP) standard. The IP standard now supports communication between computers and networks on the Internet. The IP standard identifies the types of services to be provided to users and specifies the mechanisms needed to support these services. The IP standard also describes the upper and lower system interfaces, defines the services to be provided on these interfaces, and outlines the execution environment for services needed in this system.
A transmission protocol, called the Transmission Control Protocol (TCP), was developed to provide connection-oriented, end-to-end data transmission between packet-switched computer networks. The combination of TCP with IP (TCP/IP) forms a system or suite of protocols for data transfer and communication between computers on the Internet. The TCP/IP standard has become mandatory for use in all packet switching networks that connect or have the potential for utilizing connectivity across network or sub-network boundaries.
A computer operating on a network is assigned a unique physical address under the TCP/IP protocols. This is called an IP address. The IP address can include: (1) a network ID and number identifying a network, (2) a sub-network ID number identifying a substructure on the network, and (3) a host ID number identifying a particular computer on the sub-network. A header data field in the information packet will include source and destination addresses. The IP addressing scheme imposes a sensible addressing scheme that reflects the internal organization of the network or sub-network. All information packets transmitted over the Internet will have a set of IP header fields containing this IP address.
A router is located on a network and is used to regulate the transmission of information packets into and out of computer networks and within sub-networks. Routers are referred to by a number of names including Home Agent, Home Mobility Manager, Home Location Register, Foreign Agent, Serving Mobility Manager, Visited Location Register, and Visiting Serving Entity. A router interprets the logical address of an information packet and directs the information packet to its intended destination. Information packets addressed between computers on the sub-network do not pass through the router to the greater network, and as such, these sub-network information packets will not clutter the transmission lines of the greater network. If an information packet is addressed to a computer outside the sub-network, the router forwards the packet onto the greater network.
The TCP/IP network includes protocols that define how routers will determine the transmittal path for data through the network. Routing decisions are based upon information in the IP header and entries maintained in a routing table. A routing table possesses information for a router to determine whether to accept the communicated information packet on behalf of a destination computer or pass the information packet onto another router in the network or sub-network. The routing table's address data enables the router to accurately forward the information packets.
The routing table can be configured manually with routing table entries or with a dynamic routing protocol. In a dynamic routing protocol, routers update routing information with periodic information packet transmissions to other routers on the network. This is referred to as advertising. The dynamic routing protocol accommodates changing network topologies, such as the network architecture, network structure, layout of routers, and interconnection between hosts and routers. Internet Control Message Protocol (ICMP) information packets are used to update routing tables with this changing system topology.
The IP-Based Mobility System
The Internet protocols were originally developed with an assumption that Internet users would be connected to a single, fixed network. With the advent of portable computers and cellular wireless communication systems, the movement of Internet users within a network and across network boundaries has become common. Because of this highly mobile Internet usage, the implicit design assumption of the Internet protocols has been violated.
In an IP-based mobile communication system, the mobile communication device (e.g. cellular phone, pager, computer, etc.) is called a mobile node. Typically, a mobile node changes its point of attachment to a foreign network while maintaining connectivity to its home network. A mobile node may also change its point of attachment between sub-networks in its home network or foreign network. The mobile node will always be associated with its home network and sub-network for IP addressing purposes and will have information routed to it by routers located on the home and foreign network. Generally, there is also usually a correspondence node, which may be mobile or fixed, communicating with the mobile node.
IP Mobility Protocols
During the formative years since the Internet was first established, Internet Protocol version 4 (IPv4) was recognized and adopted as the standard version of the Internet Protocol. With the advent of mobile IP and proliferation of computers and computer systems linked to the Internet, various limitations in the IPv4 standard and associated procedures have developed and emerged. In response, new standards are evolving and emerging.
The most pressing limitation in the IPv4 standard is the restriction on the number of possible IP addresses imposed by the 32-bit address field size. A newer standard, the Internet Protocol version 6 (IPV6), increases the size of the available address space 400% to 128 bits, which vastly increases the number of available addresses. While the 32-bit address field provides 232 or approximately 4 billion IP address possibilities, a 128-bit field provides 2128 (340×1012) IP address possibilities.
A number of benefits emerge from this vastly larger available address field. First, there is little chance of exhausting the number of IP addresses. Second, a large address field allows aggregation of many network-prefix routers into a single network-prefix router. Finally, the large address pool allows nodes to auto configure using simple mechanisms. One practical advantage as a result is elimination of designated foreign agents to route information packets to a visiting mobile node on a foreign network.
IP Mobility Care-of Addressing
In a mobile IP network, nodes will transmit notification and discovery information packets onto the network to advertise their presence on the network and solicit advertisements from other nodes. While on a foreign network, a mobile node will be assigned a care-of address that will be used to route information packets to the foreign network and the attached mobile node. An advertisement from a router on the foreign network will inform a mobile node that it is attached to a foreign network. The mobile node will typically create a care-of address on the foreign network, which it will transmit to its home network in an information packet to register the care-of address. Information packets addressed to the mobile node on the home network have the care-of address added. This information packet containing the care-of address will then be forwarded and routed to the mobile node on the foreign network by a router on the foreign network according to the care-of address.
Mobile IP Extensions
Extensions have been defined in the IP protocol, and extensions can be used in similar protocols, to support transmission of variable amounts of data in an information packet. This includes address information for mobile nodes, routers, and networks. The extension mechanism in IP permits appropriate addressing and routing information to be carried by any information packet, without restriction to dedicated message types such as discovery, notification, control, and routing information packet formats.
The IPv6 header minimizes header overhead. Compared to IPv4, nonessential fields and option fields have been moved to extension headers inserted after the IPv6 header. The extension header mechanism of IPv6 is part of the data payload so that intermediate routers are not affected by processing the extension headers.
The general extension format is found in FIG. 1 in a Type-Length-Value format. As shown in FIG. 1, the Type data field (T) 1 occupies the first 8-bits (one octet) of the general extension. The value of this data field will designate the type of extension. The Length data field (L) 2 occupies the next 8-bits of the extension, and the value assigned is the length of the Value field (V) 3 in octets. The Value data field 3 occupies the remaining bits in the general extension as specified by the Type 1 and Length 2 data values.
Mobile IPv6 Movement Detection and Binding
Upon moving to a new network, a mobile node detects its movement by receipt of a Router Advertisement message from a new router or exceeding the time interval for receiving an expected Router Advertisement message from a linked router. A mobile node can also periodically transmit a Router Solicitation message that will be received by a router on the foreign network and initiate transmission of a Router Advertisement message received by the mobile node.
The Router Advertisement message contains network prefix information that is used to form a care-of address for routing information packets from the home network to the mobile node on the foreign network. A Binding Update message (BU) is used to register the care-of address with the home agent and any active correspondence node communicating with the mobile node. The new binding includes the care-of address, the home address, and a binding lifetime. A Binding Acknowledgment message (BA) is sent in response to the Binding Update message to either accept or reject the Binding Update as an authentication step. A Correspondence Node can send a Binding Request message (BR) to a mobile node to discover the care-of address for the mobile node, and a Binding Update will typically be sent to the Correspondence Node in response. The Binding Request is generally used to refresh a binding nearing expiration of the designated lifetime of the binding. Routers on the networks will maintain the care-of address and home IP address association for the mobile node on a data table, ensuring that information packets can be routed to a mobile node connected to the foreign network.
Authentication, Authorization and Accounting (“AAA”)
In an IP-based mobile communications system, the mobile node changes its point of attachment to the network while maintaining network connectivity. When a mobile node travels outside its home administrative domain, however, the mobile node must communicate through multiple domains in order to maintain network connectivity with its home network. While connected to a foreign network controlled by another administrative domain, network servers must authenticate, authorize and collect accounting information for services rendered to the mobile node. This authentication, authorization, and accounting activity is called “AAA”, and AAA servers on the home and foreign network perform the AAA activities for each network.
Authentication is the process of proving one's claimed identity, and security systems on a mobile IP network will often require authentication of the system user's identity before authorizing a requested activity. The AAA server authenticates the identity of an authorized user and authorizes the mobile node's requested activity. Additionally, the AAA server will also provide the accounting function including tracking usage and charges for use of transmissions links between administrative domains.
Another function for the AAA server is to support secured transmission of information packets by storing and allocating security associations. Security associations refer to those encryption protocols, nonces, and keys required to specify and support encrypting an information packet transmission between two nodes in a secure format. The security associations are a collection of security contexts existing between the nodes that can be applied to the information packets exchanged between them. Each context indicates an authentication algorithm and mode, a shared key or appropriate public/private key pair, and a style of replay protection.
RADIUS AAA
Remote Authentication Dial In User Service (RADIUS) is one widely utilized protocol for AAA. The RADIUS protocol defines message formats and data required for AAA that can be used on virtually any packet-based communication system. Functionally, RADIUS can perform client-server operations, network security, authentication, and accounting using standard information encoding under a UDP transmission protocol. RADIUS AAA server computers are widely deployed over wireless networks utilizing the RADIUS protocol to perform AAA functions.
Key-Based Cryptographic Systems
Encryption algorithms use keys to generate the numeric permutations of encrypted data. It is preferable that the key be known only to the appropriate or authorized parties to the communication. This type of key is known as a “secret key”, and the sender and receiver of the information packet use the same secret key to encrypt and decrypt information packets with the algorithm. Public key encryption may also be supported by cryptographic security systems, where the sender and receiver have a public key and a private key. Messages may be encoded by the sender using the receiver's public key, and decoded by the receiver using the receiver's private key. Hybrid security systems are also used to encrypt and decrypt information in information packets. Accordingly, key-based security systems rely on the use of some type of secret key to support confidential communications.
Confidential Communications Over a Public Network
Because information packets are routed over the public networks that make up the Internet, cryptographic security systems are used to send the communications in a confidential manner. These security systems maintain the confidentiality of the information packet by encoding, or encrypting, the information in the information packet. The transformation of the original data into a secure, encoded or encrypted format is accomplished using mathematical algorithms and keys. The encryption process can be reversed, or decoded, by an authorized person using the keys. Other activities performed by the security system include authentication (you are who you say you are), integrity checking (the information packet was sent in the decoded form), and non-repudiation (identification of the person sending the information packet).
A cryptographic security system consists of two fundamental components—a complicated mathematical algorithm for encrypting the information, and one or more values, called keys, known to the parties authorized to transmit or receive the information packet. The security associated with encryption is directly tied to the sophistication of the algorithm and keys. The cryptographic system will have a higher level of security the greater the complexity of the algorithm and keys. Because of its complexity, the algorithm can be kept secret or publicly disclosed without undermining the strength of the security system, which is fundamentally linked to the keys.
The goal of the encryption is to be computationally infeasible to break—derive the original data from the encrypted data—without exorbitant expenditures in cost or time to recover the data or keys. Using keys helps make the encryption more difficult to break. As an example of the encryption process, consider the situation where Party A intends to communicate confidentially with Party B using the cryptographic system. First, Party A uses the algorithm and a key to transform the information in the transmitted information packet into encrypted information. In order to maintain the confidentiality of the transmitted information, the encrypted information does not resemble the information in the original information packet, and the encrypted information cannot be easily decoded into its original form without the use of the algorithm and a key.
As such, the encrypted information is transmitted over the public networks on the Internet to Party B without disclosing the content of the original information packet. After receiving the encrypted information packet, Party B decodes the encrypted information using the algorithm and a key. When the encrypted information is decoded, the original information should be disclosed in the decoded information packet.
Security System for the IP-Based Mobile System
In an IP-based mobile communications system, the Mobile Node changes its point of attachment to the network while maintaining network connectivity. Security concerns arise in the mobile system because authorized users are subject to the following forms of attack: (1) session stealing where a hostile node hijacks the network session from mobile node by redirecting information packets, (2) spoofing where the identity of an authorized user is utilized in an unauthorized manner to obtain access to the network, and (3) eavesdropping and stealing of information during a session with an authorized user. No separate secure network exists in the IP-based mobility communications system, and therefore, it is necessary to protect information transmitted in the mobile system from the above-identified security attacks.
In Mobile IP, the memory and data overhead for encryption can be significant and burdensome. Prior art encryption protocols under the Internet Protocol Security (IPSec) standard depend on performing an IPSec Key Exchange (IKE) protocol. The IKE protocol negotiates the protocols, encryption algorithms, and encryption keys used. However, IKE increases setup time, is more expensive over a wireless link, and does not allow for dynamic security associations. The present invention improves the security of communications in an IP-based mobile communications system by creating a lightweight cipher key and integrity protection key generation method to protect mobile IP signals in place of IKE.